/**
 * 
 */
package com.youxin.cpcenter.service;

import com.youxin.busfoundation.bean.login.UserInfo;
import com.youxin.cpcenter.model.TbEntCluePoolCompany;
import com.youxin.cpcenter.model.TbEntLeadsStat;
import com.youxin.foundation.interfaces.ExecuteFunction;

/**
 * @description 线索统计服务
 * @author yingde.cao
 * @date 2017年12月13日
 * @version 1.0
 */
public interface LeadsStatService {
	/**
	 * 线索统计
	 * @description 
	 * @param id
	 * @return
	 */
	/**
	 * 获取统计数据
	 * @description 
	 * @param id
	 * @return
	 */
	public TbEntLeadsStat getTbEntLeadsStat(long id);
	public TbEntLeadsStat getTbEntLeadsStat(long id,long entMemberId);
	/**
	 * 添加线索
	 * @description 
	 * @param isAdmin
	 * @param userInfo
	 */
	//public void addLeadsStat(boolean isAdmin,UserInfo userInfo);
	/**
	 * 分配线索
	 * @description 
	 * @param userInfo
	 * @param sourceEntity
	 */
	//public void assignLeadsStat(UserInfo userInfo,TbEntCluePoolCompany sourceEntity);
	/**
	 * 认领线索
	 * @description 
	 * @param userInfo
	 * @param sourceEntity
	 */
	//public void requestLeadsStat(UserInfo userInfo,TbEntCluePoolCompany sourceEntity);
	/**
	 * 释放线索
	 * @description 
	 * @param userInfo
	 * @param sourceEntity
	 */
	//public void releaseLeadsStat(UserInfo userInfo,TbEntCluePoolCompany sourceEntity);
	/**
	 * 线索状态变化
	 * @description 
	 * @param userInfo
	 * @param sourceEntity
	 * @param leadsStatus
	 */
	//public void changeStatusLeadsStat(UserInfo userInfo,TbEntCluePoolCompany sourceEntity,short leadsStatus);
	/**
	 * 更新线索信息
	 * @description 
	 * @param userInfo
	 * @param execute
	 * @return
	 */
	//boolean updateLeadsStat(UserInfo userInfo,ExecuteFunction<TbEntLeadsStat> execute);
}
